从零开始学习Rust:一门安全、高效、并发的系统编程语言

您所在的位置:网站首页 rust 借用和引用 从零开始学习Rust:一门安全、高效、并发的系统编程语言

从零开始学习Rust:一门安全、高效、并发的系统编程语言

2023-05-11 00:50| 来源: 网络整理| 查看: 265

Rust简介

Rust是一种现代的、安全的系统编程语言,它具有高效、并发和级别控制的特点。Rust的设计目标是提供一种可靠的编程语言,可以帮助开发人员写高性能、可维护和安全的软件。Rust的语法类似于C++,但它具有更强的类型安全性和内存安全性。

Rust的历史和发展

Rust最初由Mozilla的Graydon Hoare在2010年开发,最初是作为一种替代C++的语言。Rust的开发目标是提供一种可靠的编程语言,可以帮助开发人员写高性能、可维护和安全的软件。Rust的开发过程非常开放和透明,Rust的开发者们积极参与社区,与其他开发者分享他们的经验和知识。

Rust的特点和优势

Rust的特点和优势主要包括以下几个方面:

安全性:Rust的所有权模型可以防止常见的内存错误,例如空指针引用和数据竞争。Rust的编译器可以执行更严格的类型检查,可以在编译时捕获更多的错误。这使得Rust的代码更加健壮和可靠。 高效性:Rust的编译器可以生成高效的本地代码,可以与C++相媲美。Rust的所有权模型和借用机制可以避免不必要的内存分配和拷贝,从而提高代码的性能。 并发性:Rust的所有权模型和借用机制可以避免数据竞争和死锁等并发问题。Rust的标准库提供了丰富的并发编程工具,可以轻松地编写多线程代码。 可维护性:Rust的模块化和抽象机制可以帮助开发人员编写可维护的代码。Rust的编译器可以执行更严格的类型检查,可以在编译时捕获更多的错误,从而减少代码的维护成本。 Hello, world!

老规矩,学习一门语言先从Hello, world!开始

安装rust:

linux/macOS使用以下命令行

$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh 复制代码

该命令下载一个脚本并开始安装 rustup 工具,该工具会安装最新稳定版本的 Rust。系统可能会提示您输入密码。如果安装成功,会出现如下一行:

Rust is installed now. Great! 复制代码

你可能还需要一个链接器,这是 Rust 用来将其编译输出连接到一个文件中的程序。你可能已经拥有一个。如果遇到链接器错误,你应该安装一个 C 编译器,它通常包含一个链接器。 C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码并且需要 C 编译器。

在 macOS 上,可以通过运行以下命令获得 C 编译器:

$ xcode-select --install 复制代码

根据发行版的文档,Linux 通常应该安装 GCC 或 Clang。例如,如果使用 Ubuntu,则可以安装 build-essential 软件包。

在windows上安装可以使用离线安装包的方式安装

检查是否安装成功

命令行输入

$ rustc --version 复制代码

看到已发布的最新稳定版本的版本号、提交哈希和提交日期,格式如下:

rustc x.y.z (abcabcabc yyyy-mm-dd) 复制代码

就表示已经安装成功,如果没有就检查环境变量

Windows CMD

> echo %PATH% 复制代码

PowerShell

> echo $env:Path 复制代码

linux/macOS

$ echo $PATH 复制代码 升级和卸载

一旦通过 rustup 安装了 Rust,更新到新发布的版本就很容易了。从 shell 运行以下更新脚本:

$ rustup update 复制代码

要卸载 Rust 和 rustup,从 shell 运行以下卸载脚本:

$ rustup self uninstall 复制代码 创建项目

安装了 Rust,是时候编写第一个 Rust 程序了。传统做法是编写一个打印文本 Hello, world! 的小程序

打开终端并输入以下命令以创建项目目录和“Hello, world!”目录项目目录中的项目。

Linux、macOS、 PowerShell on Windows

$ mkdir ~/projects $ cd ~/projects $ mkdir hello_world $ cd hello_world 复制代码

Windows CMD

> mkdir "%USERPROFILE%\projects" > cd /d "%USERPROFILE%\projects" > mkdir hello_world > cd hello_world 复制代码 编写和运行 Rust 程序

接下来,创建一个新的源文件并将其命名为 main.rs。 Rust 文件总是以 .rs 扩展名结尾。如果在文件名中使用了多个单词,惯例是使用下划线将它们分开。例如,使用 hello_world.rs 而不是 helloworld.rs

现在打开刚刚创建的 main.rs 文件并输入以下代码:

fn main() { println!("Hello, world!"); } 复制代码

保存文件并返回到 ~/projects/hello_world 目录中的终端窗口。在 Linux 或 macOS 上,输入以下命令来编译和运行该文件:

$ rustc main.rs $ ./main 复制代码

在 Windows 上,输入命​​令 .\main.exe 而不是 ./main:

> rustc main.rs > .\main.exe 复制代码

输出

Hello, world! 复制代码 Rust 程序剖析

剖析一下hello_world程序。这是第一部分:

fn main() { } 复制代码

这些行定义了一个名为 main 的函数。 main 函数很特别:它始终是每个可执行 Rust 程序中运行的第一个代码。此处,第一行声明了一个名为 main 的函数,该函数没有参数且不返回任何内容。如果有参数,它们将放在括号 () 内。

函数体包裹在 {} 中。 Rust 要求所有函数体都用大括号括起来。将左大括号与函数声明放在同一行是一种很好的风格,中间加一个空格。

main 函数的主体包含以下代码:

println!("Hello, world!"); 复制代码

这一行完成了这个小程序中的所有工作:它将文本打印到屏幕上。这里有四个重要的细节需要注意。

Rust 风格是用四个空格缩进,而不是制表符 println! 调用 Rust 宏(后面章节讲)。如果它调用了一个函数,它将作为 println 输入(不带 !) 我们将"Hello, world!"字符串作为参数传递给 println!,然后将字符串打印到屏幕上 以分号 (;) 结束该行,表示此表达式已结束,下一个已准备好开始。大多数 Rust 代码行以分号结尾

编译和运行是分开的步骤

我们刚刚运行了一个新创建的程序,所以让我们检查一下该过程中的每个步骤。

在运行 Rust 程序之前,必须使用 Rust 编译器对其进行编译,方法是输入 rustc 命令并将源文件的名称传递给它,如下所示:

rustc main.rs 复制代码

这类似于 gcc 或 clang。编译成功后,Rust 输出二进制可执行文件。

在 Linux、macOS 和 Windows 上的 PowerShell 上,您可以通过在 shell 中输入 ls 命令来查看可执行文件:

$ ls main main.rs 复制代码

这显示了扩展名为 .rs 的源代码文件、可执行文件(在 Windows 上为 main.exe,但在所有其他平台上为 main),以及使用 Windows 时包含调试信息且扩展名为 .pdb 的文件。从这里,您可以运行 main 或 main.exe 文件,如下所示:

$ ./main 复制代码

windows

> .\main.exe 复制代码 结语

Rust 是一种提前编译语言,这意味着可以编译一个程序并将可执行文件提供给其他人,他们甚至可以在没有安装 Rust 的情况下运行它

仅使用 rustc 编译对于简单的程序来说很好,但随着项目的增长,我们需要管理所有选项并使其易于共享代码。下一篇,我们将介绍 Cargo 工具,它将帮助您编写真实世界的 Rust 程序。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3